﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EveMarketsDAO.Fonction
{
	public class FonctionsBasique
	{
		/// <summary>
		/// Avec un ID de blueprint, je dois retourner le type d'objet.
		/// </summary>
		/// <param name="idBlueprint"></param>
		/// <returns></returns>
		public string GetTypeItemByBlueprint(int idBlueprint)
		{
			// Ramène l'ID de l'objet construit.
			var idConstruit = ContexteDAO.ContexteDonnees.LesBlueprints
									.Where(y => y.IdBlueprint.Equals(idBlueprint))
									.Select(x => x.ProductTypeId).First();

			return ContexteDAO.ContexteDonnees.invItemsTypes
									.Where(y => y.typeID.Equals(idConstruit))
									.Select(x => x.LienVers_invGroups_groupID_groupID.groupName).First();
		}

		/// <summary>
		/// Retourne la ligne sur l'objet passé en paramètre.
		/// </summary>
		/// <param name="numItem"></param>
		/// <returns></returns>
		public invItemsTypes GetItem(int numItem)
		{
			return (from dd in ContexteDAO.ContexteDonnees.invItemsTypes
			 where dd.typeID.Equals(numItem)
			 select dd).First();
		}

		/// <summary>
		/// Supprime des tables l'id de l'item passé en paramètre avec la station d'achat et vente
		/// passées en paramètre.
		/// </summary>
		/// <param name="idItem"></param>
		/// <param name="stationAchat"></param>
		/// <param name="stationVente"></param>
		public void DeleteItemInResultats(int idItem, int stationAchat, int stationVente)
		{
			string commandDeleteResultatsDetails = @"DELETE FROM ResultatsDetails WHERE IdItem = "+ idItem 
													+ " AND idStationAchat = " + stationAchat 
													+ " AND idStationVente = " + stationVente
													+ " ;";
			string commandDeleteResultats = @"DELETE FROM Resultats WHERE IdItem = "+ idItem 
													+ " AND idStationAchat = " + stationAchat
													+ " AND idStationVente = " + stationVente
													+ " ;";
			ContexteDAO.ContexteDonnees.ExecuteStoreCommand(commandDeleteResultatsDetails);
			ContexteDAO.ContexteDonnees.ExecuteStoreCommand(commandDeleteResultats);
		}

	}
}
